A gas engine capable of incorporating the improvements of the invention may be seen by referring to U.S. application Ser. No. 917,764, filed Jul. 21, 1992, entitled "Lean Burn Internal Combustion Engine", still pending; U.S. application Ser. No. 911,960, filed Jul. 10, 1992, entitled "Fuel System and Constant Pressure Governor For A Single Cylinder Four Stroke Cycle Engine", still pending; and U.S. application Ser. No. 914,360, filed Jul. 14, 1992, entitled "Carburetor Assembly For An Internal Combustion Engine, still pending." These applications are assigned to the assignee of the present invention.
The engine that is controlled by the control system of the invention is a single cylinder, natural gas engine adapted to drive a heat pump compressor in a residential heat pump installation. The engine control system includes a microcomputer that accepts input signals from engine sensors and from the heat pump controller. The engine control system includes three separate modules, the first being the microcomputer electronics unit for executing the appropriate ignition timing strategy for both the starting mode and the engine running mode, the second being the spark control unit for amplifying the signals developed by the electronics unit and for driving the ignition coil primary winding, and the third being a controller power supply.
The electronics unit in a preferred embodiment of the invention is an Intel 8098 microprocessor adapted to receive input signals from engine monitoring sensors and operating commands from the engine control system. It acts upon the information received from the sensors and develops control signals to provide an appropriate response of a throttle stepper motor for varying the throttle position of a gas and air venturi carburetor, a natural gas supply valve, a fuel enrichment valve for assisting the carburetor assembly in developing an appropriate mixture for cold starting, the spark control unit, and the starter solenoid and motor relay. The throttle position that is established by the electronics unit provides for the most efficient engine starting condition and speed regulation. The electronics unit also achieves the optimal ignition timing and sequencing of the fuel valve and enrichment valve.
Ignition timing is based on a speed pickup signal from a magnetic proximity sensor that is triggered by a triggering element on the camshaft for the engine, which operates at one-half crankshaft speed. A timing pulse is developed using the pickup signal from the sensor. The leading edge of the timing pulse occurs when the signal from the sensor crosses a threshold voltage. The magnitude of the threshold voltage may vary as a function of peak cam sensor voltage. The trailing edge of the timing pulse occurs when the signal from the sensor crosses from a positive voltage value to a negative voltage value.
During starting, the spark occurs at about 10.degree. before top dead center. During normal running, the spark advance is in the range of 12.degree. to 21.degree. before top dead center.
For normal spark advances before top dead center, the crank angle location corresponding to the trailing edge of the timing pulse is repeatable, but the crank angle location of the leading edge will vary depending upon the sensor gap for the magnetic pickup and the engine speed When the engine is running, the microprocessor electronics unit receives a signal triggered by the leading edge of the timing pulse and the trailing edge of the timing pulse. These values are used as reference points in order to determine when the controller should turn the primary current on and off, thus achieving an ignition spark.
It is possible to infer from the timing pulse the width of the pulse in crank angle degrees. This is done by measuring in real time the cycle time and by measuring the width of the timing pulse in real time. The timing pulse for purposes of the present invention does not vary significantly in value from one cycle to the next during normal operation. During cranking of the engine, the leading edge of the timing pulse triggers the start of the current flow through the primary winding of the ignition coil. The trailing edge of the timing pulse triggers the interruption of the primary current.
During the running mode, the primary current is switched off using the leading edge of the current timing pulse as a timing reference point. The primary current is turned on at a fixed time interval--the dwell time--prior to the turn-off time. The turn-on time may occur either before or after the leading edge of the timing pulse, depending on engine speed. If the turn-on is to occur prior to the leading edge, then the turn-on is determined with reference to the leading edge of the previous timing pulse. Otherwise, the turn-on time is determined with reference to the leading edge of the current timing pulse.
The control system includes a throttle control that includes a proportional-integral-derivative (PID) control algorithm. The speed of the engine is regulated in this manner. The throttle control measures the engine speed and obtains a value for the desired or commanded speed, and a comparison is made. The speed error is used as the input to a PID algorithm. The output of the PID algorithm develops a signal that is used for controlling an electrical stepper motor coupled directly to the carburetor throttle.
We are aware of prior art teachings that deal with ignition timing of an internal combustion engine wherein an ignition timing pulse is established using signal generators and the timing pulse in turn is used by a controller to establish the spark advance. An example of an arrangement of this kind is shown in U.S. Pat. No. 4,969,438, which describes an ignition timing controller having an ignition timing calculator which receives an input signal for first and second piston positions measured in crankshaft degrees. A delay time is calculated using the input signals to generate an ignition signal when a predetermined delay time has elapsed from the instant that the piston reaches a first piston position provided the second piston position has not yet occurred. If the second piston position occurs before the first time delay lapses, a second time delay value is substituted and a new ignition signal is generated. In this way, the controller is able to compensate for sudden speed increases. There is no tendency, therefore, for ignition to occur too late in those running conditions in which the engine is accelerating quickly.
Another example of an ignition control system in which spark timing is achieved by the use of ignition pulses generated by an engine speed sensor is the system described in U.S. Pat. No. 4,584,978. The system described in that reference relies upon sensors that detect the amount of engine load as well as the rotational speed of the engine. Those values are used to compute a time period that elapses from the leading edge of a reference pulse signal in order to establish spark timing. The distance between the leading edge and the trailing edge of each reference pulse signal is detected with respect to each cylinder. That is followed by a correction of the computed time in accordance with a detected variation in an attempt to obtain the optimum spark timing without any variation in the timing for one cylinder with respect to another in a multiple cylinder engine.
U.S. Pat. No. 4,936,275 describes an ignition system for a multiple cylinder engine wherein a timing pickup signal generates a reference pulse as the value of the pickup signal rises above zero and falls below zero. In the '275 patent, the ignition timing is triggered by the leading edge of the reference pulse. It is assumed in this strategy that the time from the leading edge to the trailing edge of the reference pulse equals the total cycle time for the previous engine cycle multiplied by the ratio of the pulse time to the total cycle time in the previous cycle of the current cylinder.
None of these prior art teachings embodies the concept involved in the present invention wherein ignition timing for a single cylinder engine is established during normal running by detecting the cycle time measured between the trailing edges of two timing pulses in a previous engine cycle and wherein that value of cycle time is assumed to be unchanged as it is used in a computation of the new delay in the development of the spark by interruption of the primary coil current. That computation involves an estimate or prediction of the time from the leading edge to the trailing edge of the timing pulse based on measurements of the previous engine cycle. It assumes that the timing pulse width of the current cycle is equal to the corresponding timing pulse width of the previous cycle. It assumes further that the distance between the timing pulse remains unchanged from cycle to cycle.
The present invention involves also a determination of the delay angle measured from the leading edge of the current timing pulse to the ignition point at which the primary current is turned off. The latter computation involves a selection from the memory portion of the microprocessor a value that is an indicator of the spark advance that is determined to be the optimal spark advance value corresponding to the speed and engine load values that are detected by speed and load sensors for the engine.